package com.py.credit.dao;

import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Param;

import com.py.credit.entity.DeclarationManagement;
import com.py.framework.core.common.Page;

public interface DeclarationManagementDao {

	public List<Map<String, Object>> selectTableListByConditionForPage(@Param(value = "root_id") String root_id,
			@Param(value = "columns") List<String> columns,
			@Param(value = "additionalColumns") String[] additionalColumns,
			@Param(value = "conditions") List<String> condition, @Param(value = "page") Page page);

	List<DeclarationManagement> selectForPage(@Param(value = "type") String type, @Param(value = "page") Page page,
			@Param(value = "id") String id, @Param(value = "root_id") String root_id);

	void updateById(@Param(value = "type") String type, @Param(value = "id") String id,
			@Param(value = "root_id") String root_id, @Param(value = "state") String state);

	void delListById(@Param(value = "list") List<String> list);

	DeclarationManagement selectIsExist(@Param(value = "root_id") String root_id);

	void insert(@Param(value = "update_person") String update_person, @Param(value = "root_id") String root_id,
			@Param(value = "type") String type);

	void updateIdCountListById(@Param(value = "cube_id_list") String cube_id_list,
			@Param(value = "resources_count") String resources_count, @Param(value = "id") String id,
			@Param(value = "finance_id_list") String finance_id_list);

	List<DeclarationManagement> selectXypjTable(@Param(value = "collection_type") String collection_type);

	List<DeclarationManagement> selectTable(@Param(value = "list") List<String> list);

}
